import request from '@utils/request'

/**
 * 获取配置
 * @returns {Promise} 返回配置数据
 */
export function getConfig() {
  return request({
    url: '/api/admin/settings/config',
    method: 'get'
  })
}

/**
 * 更新配置
 * @param {Object} data - 配置数据
 * @returns {Promise} 返回更新结果
 */
export function updateConfig(data) {
  return request({
    url: '/api/admin/settings/config',
    method: 'put',
    data
  })
}

// 获取系统设置
export function getSystemSettings() {
  return request({
    url: '/api/admin/settings',
    method: 'get'
  })
}

// 更新系统设置
export function updateSettings(data) {
  return request({
    url: '/settings',
    method: 'put',
    data
  })
}

// 获取系统信息
export function getSystemInfo() {
  return request({
    url: '/api/admin/settings/system-info',
    method: 'get'
  })
}

// 清除系统缓存
export function clearSystemCache() {
  return request({
    url: '/api/admin/settings/cache',
    method: 'post'
  })
}

// 获取管理员列表
export function getAdmins(params) {
  return request({
    url: '/api/admin/admins',
    method: 'get',
    params
  })
}

// 添加管理员
export function addAdmin(data) {
  return request({
    url: '/admin/add',
    method: 'post',
    data
  })
}

// 编辑管理员
export function updateAdmin(id, data) {
  return request({
    url: `/admin/${id}`,
    method: 'put',
    data
  })
}

// 删除管理员
export function deleteAdmin(id) {
  return request({
    url: `/admin/${id}`,
    method: 'delete'
  })
}

// 1. 获取轮播图列表
export function getBannerList(params) {
  return request({
    url: '/banner/list',
    method: 'get',
    params
  })
}

// 2. 获取轮播图详情
export function getBannerDetail(id) {
  return request({
    url: `/banner/${id}`,
    method: 'get'
  })
}

// 3. 创建轮播图
export function createBanner(data) {
  return request({
    url: '/banner',
    method: 'post',
    data
  })
}

// 4. 更新轮播图
export function updateBanner(id, data) {
  return request({
    url: `/banner/${id}`,
    method: 'put',
    data
  })
}

// 5. 删除轮播图
export function deleteBanner(id) {
  return request({
    url: `/banner/${id}`,
    method: 'delete'
  })
}

// 6. 更新轮播图状态
export function updateBannerStatus(id, data) {
  return request({
    url: `/banner/${id}/status`,
    method: 'put',
    data
  })
}

// 7. 更新轮播图排序
export function updateBannerSort(id, data) {
  return request({
    url: `/banner/${id}/sort`,
    method: 'put',
    data
  })
}

// 8. 批量删除轮播图
export function deleteBannerBatch(data) {
  return request({
    url: '/banner/batch',
    method: 'delete',
    data
  })
}

// 9. 上传轮播图图片
export function uploadBannerImage(data) {
  return request({
    url: '/upload/banner-image',
    method: 'post',
    data
  })
}

/**
 * 获取系统配置
 * @returns {Promise} 返回系统配置数据
 */
export function getSystemConfig() {
  return request({
    url: '/api/admin/settings/config',
    method: 'get'
  })
}

/**
 * 更新系统配置
 * @param {Object} data - 配置数据
 * @returns {Promise} 返回更新结果
 */
export function updateSystemConfig(data) {
  return request({
    url: '/api/admin/settings/config',
    method: 'put',
    data
  })
}

/**
 * 获取支付配置
 * @returns {Promise} 返回支付配置数据
 */
export function getPaymentConfig() {
  return request({
    url: '/api/admin/settings/payment',
    method: 'get'
  })
}

/**
 * 更新支付配置
 * @param {Object} data - 配置数据
 * @returns {Promise} 返回更新结果
 */
export const updatePaymentConfig = (data) => {
  return request({
    url: '/admin/settings/payment',
    method: 'put',
    data
  })
}

/**
 * 获取物流配置
 * @returns {Promise} 返回物流配置数据
 */
export const getShippingConfig = () => {
  return request({
    url: '/admin/settings/shipping',
    method: 'get'
  })
}

/**
 * 更新物流配置
 * @param {Object} data - 配置数据
 * @returns {Promise} 返回更新结果
 */
export const updateShippingConfig = (data) => {
  return request({
    url: '/admin/settings/shipping',
    method: 'put',
    data
  })
} 